SELECCIÓN
(Directa y Contraria)

“Todo lo que existe es el resultado de una selección” (Jorge Wagensberg)

“Crear es seleccionar” (Hector M. Sánchez)



Selección Directa

Semántica

Seleccionar, de una expresión cerrada (secuencia o conjunto) x, todos los componentes que cumplen el criterio de selección y del primer nivel de la jerarquía de x. El resultado es una expresión abierta, siempre que se seleccionen más de un componente.

El criterio de selección y es una expresión que comienza por un operador de comparación (<, , >, , =, ), pero también pueden utilizarse otros operadores (#, , , etc.)


Sintaxis
Definición

⟨( xy = [x⇓⌋ ← ⌊xy⇓⌋] )⟩


Justificación

Esta operación se corresponde con la función mental de centrar la atención en una parte de algo, prescindiendo del resto.


Ejemplos
  1. (x = (a b c a b c))
    x⇓(=b) // ev. b b


  2. (x = (aa bb cc))
    x⇓(=bb) // ev. bb


  3. (x = (a b1 c a b2 c))
    x⇓(=bα) // ev. b1 b2

    (selecciona las secuencias de longitud 2 que empiezan por b)

    x⇓(=bαα) // ev. θ
    (selecciona las secuencias de longitud 3 que empiezan por b)

  4. (x = (6 12 7 5 -3))
    x⇓(>6) // ev. 12 7
    x⇓(<6) // ev. 5 -3
    x⇓(>15) // ev. θ


  5. (x = (a b c a b c))
    x⇓(=u) // ev. θ

    (no hay ningún elemento u)

  6. (x = (a b c a b c))
    ( x⇓(⇓a) ) // ev. ( b c b c )

    (selecciona los elementos distintos de a)

  7. (x = {a b1 c12 d123))
    x⇓(# = 2) // ev. c12

    (selecciona los elementos de longitud 2)
    x⇓(# ≥ 2) // ev. c12 d123
    (selecciona los elementos de longitud ≥2)

Observaciones
Propiedades
  1. ⟨( θ⇓(=x) = θ )⟩

  2. ⟨(x⇓(=θ) = θ )⟩

  3. ⟨( x⇓(=α) = x⇓ )⟩
    seleccionar todos los componentes de x

  4. ⟨( Ω⇓(=x) = x )⟩
    puesto que toda expresión está en Ω

  5. ⟨( x∈y ↔ (x⇓(=y) ≠ θ) )⟩

  6. ⟨( x∉y ↔ (x⇓(=y) = θ) )⟩
La expresión x⇓(=y), como condición, es la forma de averiguar si y es un componente o no de x.


Selección de orden superior

Es cuando al resultado de la selección se le aplica otra selección. Equivale al operador lógico tradicional “y” (and). Ejemplos:
  1. (x = (6 12 7 8 9 5 -3))
    ( x⇓(>6) ) // ev. ( 12 7 8 9 )
    (( x⇓(>6) )⇓(<9) ) // ev. ( 7 8 )


  2. (x = (6 12 7 8 9 5 -3))
    y=( x⇓(>6) ) // ev. y=( 12 7 8 9 )
    ( y⇓(<9) ) // ev. ( 7 8 )

Selección alternativa

Equivale al operador lógico tradicional “o” (or). Ejemplo:

(x = (6 12 7 8 9 5 -3))

Selección de los elementos menores que 6 o mayores de 9:

{x⇓(<6) x⇓(>9)}⇓ // ev. 5 -3 12

Esta expresión se puede simplificar y generalizar:

⟨( sel(x y1 y2) = {xy1 xy2}⇓ )⟩
sel(x <6 >9) // ev. 5 -3 12



Selección en otros niveles jerárquicos

Se realiza aplicando el operador de selección al nivel correspondiente. El nivel se especifica mediante una serie de operadores . Ejemplo:

(x = (a (b1 b2) (c1 c2) d))
( x↓↓ ) // ev. ( b1 b2 c1 c2 )
( x↓↓ )⇓(=bα) ) // ev. ( b1 b2 )

Selecciona las secuencias de longitud 2 que empiezan por b del segundo nivel de x.


Selección Contraria (o Complementaria)

Semántica

Seleccionar, de una expresión cerrada x, todos los componentes que no satisfacen el criterio de selección y del primer nivel de la jerarquía de x.


Sintaxis

x⇑y ó (x ⇑ y) ó (x ⇓' y)


Definición

⟨( xy = [x⇓⌋ ←' ⌊xy⇓⌋] )⟩
o bien
⟨( xy = ({x} ∪' {xy})⇓ )⟩


Ejemplos
  1. (x = (a b c d e))
    x⇑(=a) // ev. b c d e


  2. (x = ( 1…10 ))
    ( x⇑(>3) ) // ev. 1 2 3

Observaciones
Propiedades
  1. ⟨( (x⇓=y) (x⇑=y) = x )⟩
    (complementariedad)